/*
向量类型
编写一个构造器Vec，在二维空间中表示数组。该函数接受两个数字参数x和y，并将其保存到对象的同名属性中。

向Vec原型添加两个方法：plus和minus，它们接受另一个向量作为参数，分别返回两个向量（一个是this，另一个是参数）的和向量与差向量。

向原型添加一个getter属性length，用于计算向量长度，即点(x,y)与原点(0,0)之间的距离。
*/
class Vec {
    constructor(x,y) {
        this.x = x
        this.y = y
    }
    plus(vec) {
        return new Vec(this.x + vec.x, this.y + vec.y)
    }
    minus(vec) {
        return new Vec(this.x - vec.x, this.y - vec.y)
    }
    get length() {
        return Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2))
    }
}

let vec1 = new Vec(4, 30)

let vec2 = new Vec(3, 10)

console.log(vec1, '实例')
console.log(vec2, '实例2')
let newVec = vec1.plus(vec2)
let newVec2 = vec1.minus(vec2)
let vec3 = new Vec(3, 4)
console.log(vec3.length, '向量的模')
console.log(newVec, '向量相加')
console.log(newVec2, '向量相减')